﻿using System;
using MoonSharp.Interpreter;

namespace Lua
{
	// Token: 0x020002F6 RID: 758
	[MoonSharpUserData]
	public class PlayerEntity : Entity
	{
		// Token: 0x06001263 RID: 4707 RVA: 0x00081326 File Offset: 0x0007F526
		[MoonSharpHidden]
		public PlayerEntity(Player player) : base(player)
		{
			this.player = player;
			this.resizeCharater = player.GetComponent<ResizeCharacter>();
		}

		// Token: 0x170002BA RID: 698
		// (get) Token: 0x06001264 RID: 4708 RVA: 0x00081342 File Offset: 0x0007F542
		public bool climbing
		{
			get
			{
				return this.player.isClimbing();
			}
		}

		// Token: 0x170002BB RID: 699
		// (get) Token: 0x06001265 RID: 4709 RVA: 0x0008134F File Offset: 0x0007F54F
		public bool isAiming
		{
			get
			{
				return this.player.aim;
			}
		}

		// Token: 0x170002BC RID: 700
		// (get) Token: 0x06001266 RID: 4710 RVA: 0x0008135C File Offset: 0x0007F55C
		// (set) Token: 0x06001267 RID: 4711 RVA: 0x00081369 File Offset: 0x0007F569
		public float walkSpeed
		{
			get
			{
				return this.player.walkSpeed;
			}
			set
			{
				this.player.walkSpeed = value;
			}
		}

		// Token: 0x170002BD RID: 701
		// (get) Token: 0x06001268 RID: 4712 RVA: 0x00081377 File Offset: 0x0007F577
		// (set) Token: 0x06001269 RID: 4713 RVA: 0x00081384 File Offset: 0x0007F584
		public float runSpeed
		{
			get
			{
				return this.player.runSpeed;
			}
			set
			{
				this.player.runSpeed = value;
			}
		}

		// Token: 0x170002BE RID: 702
		// (get) Token: 0x0600126A RID: 4714 RVA: 0x00081392 File Offset: 0x0007F592
		// (set) Token: 0x0600126B RID: 4715 RVA: 0x0008139F File Offset: 0x0007F59F
		public float sprintSpeed
		{
			get
			{
				return this.player.sprintSpeed;
			}
			set
			{
				this.player.sprintSpeed = value;
			}
		}

		// Token: 0x170002BF RID: 703
		// (get) Token: 0x0600126C RID: 4716 RVA: 0x000813AD File Offset: 0x0007F5AD
		// (set) Token: 0x0600126D RID: 4717 RVA: 0x000813BA File Offset: 0x0007F5BA
		public float flySpeed
		{
			get
			{
				return this.player.flySpeed;
			}
			set
			{
				this.player.flySpeed = value;
			}
		}

		// Token: 0x170002C0 RID: 704
		// (get) Token: 0x0600126E RID: 4718 RVA: 0x000813C8 File Offset: 0x0007F5C8
		// (set) Token: 0x0600126F RID: 4719 RVA: 0x000813D5 File Offset: 0x0007F5D5
		public float superFlySpeed
		{
			get
			{
				return this.player.superSpeed;
			}
			set
			{
				this.player.superSpeed = value;
			}
		}

		// Token: 0x170002C1 RID: 705
		// (get) Token: 0x06001270 RID: 4720 RVA: 0x000813E3 File Offset: 0x0007F5E3
		// (set) Token: 0x06001271 RID: 4721 RVA: 0x000813F0 File Offset: 0x0007F5F0
		public float climbSpeed
		{
			get
			{
				return this.player.climbSpeed;
			}
			set
			{
				this.player.climbSpeed = value;
			}
		}

		// Token: 0x170002C2 RID: 706
		// (get) Token: 0x06001272 RID: 4722 RVA: 0x000813FE File Offset: 0x0007F5FE
		// (set) Token: 0x06001273 RID: 4723 RVA: 0x0008140B File Offset: 0x0007F60B
		public float jumpPower
		{
			get
			{
				return this.player.jumpHeight;
			}
			set
			{
				this.player.jumpHeight = value;
			}
		}

		// Token: 0x170002C3 RID: 707
		// (get) Token: 0x06001274 RID: 4724 RVA: 0x00081419 File Offset: 0x0007F619
		// (set) Token: 0x06001275 RID: 4725 RVA: 0x00081426 File Offset: 0x0007F626
		public bool autowalk
		{
			get
			{
				return this.player.autowalk;
			}
			set
			{
				this.player.autowalk = value;
			}
		}

		// Token: 0x170002C4 RID: 708
		// (get) Token: 0x06001276 RID: 4726 RVA: 0x00081434 File Offset: 0x0007F634
		// (set) Token: 0x06001277 RID: 4727 RVA: 0x00081441 File Offset: 0x0007F641
		public float sizeChangeSpeed
		{
			get
			{
				return this.resizeCharater.sizeChangeRate;
			}
			set
			{
				this.resizeCharater.sizeChangeRate = value;
			}
		}

		// Token: 0x170002C5 RID: 709
		// (get) Token: 0x06001278 RID: 4728 RVA: 0x0008144F File Offset: 0x0007F64F
		// (set) Token: 0x06001279 RID: 4729 RVA: 0x0008145C File Offset: 0x0007F65C
		public override float minSize
		{
			get
			{
				return this.player.minSize;
			}
			set
			{
				this.player.minSize = value;
				ResizeCharacter.minSize = value;
			}
		}

		// Token: 0x170002C6 RID: 710
		// (get) Token: 0x0600127A RID: 4730 RVA: 0x00081470 File Offset: 0x0007F670
		// (set) Token: 0x0600127B RID: 4731 RVA: 0x0008147D File Offset: 0x0007F67D
		public override float maxSize
		{
			get
			{
				return this.player.maxSize;
			}
			set
			{
				this.player.maxSize = value;
				ResizeCharacter.maxSize = value;
			}
		}

		// Token: 0x170002C7 RID: 711
		// (get) Token: 0x0600127C RID: 4732 RVA: 0x00081491 File Offset: 0x0007F691
		// (set) Token: 0x0600127D RID: 4733 RVA: 0x0008149E File Offset: 0x0007F69E
		public override float scale
		{
			get
			{
				return this.player.Scale;
			}
			set
			{
				this.resizeCharater.ChangeScale(value);
			}
		}

		// Token: 0x170002C8 RID: 712
		// (get) Token: 0x0600127E RID: 4734 RVA: 0x000814AC File Offset: 0x0007F6AC
		public LuaPlayerRaygun raygun
		{
			get
			{
				if (this._raygun == null && this.player != null)
				{
					this._raygun = new LuaPlayerRaygun(this.player);
				}
				return this._raygun;
			}
		}

		// Token: 0x0600127F RID: 4735 RVA: 0x000814E1 File Offset: 0x0007F6E1
		public void Crush()
		{
			this.player.Crush(null, null);
		}

		// Token: 0x040016D0 RID: 5840
		private Player player;

		// Token: 0x040016D1 RID: 5841
		private ResizeCharacter resizeCharater;

		// Token: 0x040016D2 RID: 5842
		private LuaPlayerRaygun _raygun;
	}
}
